package com.tong.calculator.response;

/**
 * 响应码常量类
 *
 * @author lv
 */
public class ResponseCodeConstant {

    /**
     * 常量类私有无参构造
     */
    private ResponseCodeConstant() {
    }

    /*
        状态码设计规约，参考阿里开发手册设计
        组成规则： 错误来源标识-模块-序号
       错误来源标识：A--->用户操作错误    B--->服务器错误    C--->外部系统错误
       模块：两位数 01-99  00保留
       序号：两位数 01-99  00保留
       成功：00000
     */

    /**
     * 成功
     */
    public static final String SUCCESS = "00000";

    /**
     * 服务端未知错误
     */
    public static final String UNKNOWN = "B0000";

    /*---------------------------------------------用户输入错误-------------------------------------------------------------*/

    /**
     * 状态码---参数模块---参数错误
     */
    public static final String PARAM_ERROR = "A0101";

    /**
     * 状态码---数据库模块---记录已存在
     */
    public static final String DATABASE_EXIST = "A0201";

    /**
     * 状态码--数据库模块---记录不存在
     */
    public static final String DATABASE_NOT_EXIST = "A0202";

    /**
     * 状态码---权限模块---权限不足
     */
    public static final String AUTHORIZATION_INSUFFICIENT = "A0301";

    /**
     * 状态码---权限模块---token为空
     */
    public static final String AUTHORIZATION_TOKEN_IS_NULL = "A0302";

    /**
     * 状态码---权限模块---token已失效
     */
    public static final String AUTHORIZATION_TOKEN_INVALID = "A0303";

    /**
     * 状态码---权限模块---未授权
     */
    public static final String AUTHORIZED_UNAUTHORIZED = "A0304";

    /**
     * 状态码---路径模块---没有路径处理器
     */
    public static final String PATH_NO_HANDLER = "A0404";

    /**
     * 状态码---用户模块---用户为空
     */
    public static final String USER_IS_NULL = "A0501";

    /**
     * 状态码---验证码模块---图形验证码没找到
     */
    public static final String CODE_GRAPH_NOT_FOUND = "A0601";

    /**
     * 状态码---验证码模块---图形验证码失效
     */
    public static final String CODE_GRAPH_INVALID = "A0602";

    /**
     * 状态码---验证码模块---图形验证码错误
     */
    public static final String CODE_GRAPH_ERROR = "A0603";

    /**
     * 状态码---登录模块---用户名/密码错误
     */
    public static final String LOGIN_FAIL = "A0701";

    /**
     * 状态码---登录模块---用户被锁定
     */
    public static final String LOGIN_USER_LOCK = "A0702";

    /*---------------------------------------------远程服务错误-------------------------------------------------------------*/

    /**
     * 远程服务用户模块响应数据格式错误
     * 13--->异常抛出者：common模块
     * 1--->异常来源：用户模块
     * 1--->响应数据格式错误
     */
    public static final String REMOTE_SERVICE_USER_ERROR = "C1311";
}
